package com.yswy.app.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.yswy.common.zfbOrder.CallbackAgreementResVO;
import com.yswy.common.zfbOrder.ZfbKeyVo;
import com.yswy.domain.entity.AgreementOrder;
import com.yswy.domain.entity.PayOrder;
import com.yswy.domain.entity.VipPrice;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * 参数配置 服务层
 * 
 * @author ruoyi
 */
public interface AgreementOrderService extends IService<AgreementOrder> {

    //添加周期付款记录
    AgreementOrder addUserAgreementLog(VipPrice vipPrice,
                                       PayOrder payOrder , ZfbKeyVo zfbKeyVo );


    Boolean isAgreementOrder(Long userId);

    //周期付款回调成功业务
    void userAgreementOk(CallbackAgreementResVO callbackAgreementResVO);

    //定时执行延时回传任务
    void callBackAgreementOrder();

    //解约历史周期付款订单
    void userAgreementUnOldOrder(Long userId , String externalAgreementNo);

    //周期付款回调
    void callbackAgreement(HttpServletRequest request, HttpServletResponse response) throws Exception ;
    //支付宝应用网关回调
    void zfbCallback(HttpServletRequest request, HttpServletResponse response) throws Exception ;
    //延期
    void userAgreementUpdateExTime(String memo , String deduct_time, String agreement_no);

}
